package cn.rui.controller;

import cn.dev33.satoken.annotation.SaCheckLogin;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaCheckRole;
import cn.dev33.satoken.annotation.SaMode;
import cn.rui.aspects.Log;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * 跳转页面
 *
 * @author 徽州大都督
 * @date 2021/05/13
 */
@Controller
public class Indexcontroller {

    //首页
    // 登录认证：当前会话必须登录才能通过
    @SaCheckLogin
    @RequestMapping({"index", "/"})
    //@Log("访问了首页")
    public String index() {

        return "index";
    }

    //添加
    @RequestMapping("add")
    @SaCheckRole("super-admin")  // 角色认证：当前会话必须具有指定角色标识才能通过
    @Log("访问了添加页面")
    public String add() {

        return "add";
    }

    /**
     * 修改
     * SaMode.AND, 标注一组权限，会话必须全部具有才可通过校验
     * SaMode.OR, 标注一组权限，会话只要具有其一即可通过校验
     *
     * @return
     */
    @RequestMapping("update")
    @SaCheckPermission(value = {"user-all", "update_page"}, mode = SaMode.OR)  // 权限认证：当前会话必须具有指定权限才能通过
    @Log("访问了修改页面")
    public String update() {

        return "update";
    }

    //删除
    @RequestMapping("delete")
    @SaCheckPermission("delete_page")
    @Log("访问了删除页面")
    public String delete() {

        return "delete";
    }

    //查询
    @RequestMapping("find")
    @SaCheckPermission("find_page")
    @Log("访问了查询页面")
    public String find() {

        return "find";
    }


    //用户列表
    @RequestMapping("userList")
    @SaCheckPermission("user_list")
    @Log("访问了用户列表")
    public String userList() {

        return "userList";
    }

    //登录日志
    @RequestMapping("userLog")
    @SaCheckPermission("login_log")
    @Log("访问了登录日志")
    public String userLog() {

        return "userLog";
    }

    @RequestMapping("operationLog")
    @SaCheckPermission("play_log")
    @Log("访问了操作日志")
    public String operationLog() {

        return "operationLog";
    }

    //登录页面
    @RequestMapping("login")
    public String login() {

        return "login";
    }

    //修改密码页面
    @RequestMapping("/updatePass")
    @SaCheckLogin
    public String updatePass() {
        return "updatePass";
    }

    //首页
    @RequestMapping("/index2")
    @SaCheckLogin
    public String index2() {
        return "index2";
    }

    //图片管理
    @RequestMapping("/img")
    @SaCheckPermission("img_manage")
    public String img() {
        return "img";
    }

    //个人信息
    @RequestMapping("/userInfo")
    @SaCheckLogin
    public String userInfo() {
        return "userInfo";
    }
}
